import psutil
import datetime

# 1、定义变量保存cpu硬件信息 获取cpu使用率
cpu_info = psutil.cpu_percent(interval=0.5)
# 2、定义变量保存内存使⽤情况
memory_info = psutil.virtual_memory()
# 3、定义变量保存磁盘使⽤情况
disk_info = psutil.disk_usage("/")
# 4、获取⽹络收发数量
net_info = psutil.net_io_counters()
# 5、获取系统时间
current_time = datetime.datetime.now().strftime("%Y-%m-%d %T")
# 6、开始记录信息到⽇志⽂件中
# 6.1 拼接记录信息的字符串
log_str = "|-------------------|------------|-------------|-------------|----------------------------|\n"
log_str += "| 监控时间 | CPU使⽤率 | 内存使⽤率 | 硬盘使⽤率 | ⽹络收发量 |\n"
log_str += "| | (共%d核CPU) | (总计%dG内存) | (总计%dG硬盘)| |\n"
log_str += "|-------------------|------------|-------------|-------------|----------------------------|\n"
log_str += "|%s| %s%% | %s%% | %s%% | 收:%s/发:%s |\n" % (current_time, cpu_info, memory_info.percent, disk_info.percent, net_info.bytes_recv, net_info.bytes_sent)
log_str += "|-------------------|------------|-------------|-------------|----------------------------|\n"
print(log_str)
# 7、写⼊数据到⽂件中
with open("log.txt", "a", encoding='utf-8') as file:
    file.write(log_str + "\n\n")
